The present invention relates, in general, to a telephone communication network and, more particularly, to a method and apparatus for managing/controlling feature interactions by analyzing the operation of one feature against another existing/executing feature during assignment, activation, and execution phases of a telephone communication network.
Contemporary telephone communication networks can provide well over 100 services or features, such as call forwarding, call waiting, call transfer, ring selection, speed calling, etc., to customers. Moreover, new features are continually being developed by the telephone operating companies in order to meet the needs of their telephone customers. U.S. Pat. No. 4,878,240 issued to Lin et al. and U.S. Pat. No. 4,905,274 issued to Cooper et al., for example, describe apparatus and methods which provide customers with the ability to select, activate/deactivate, and change such features to suit their needs. Now that the customer has the ability to customize their individual telephone system, there is a need greater than ever to manage and control the interaction of telephone features.
Feature interactions are defined as a contradiction or conflict among services when at least two features are provided simultaneously. The following examples illustrate the need to manage and control feature interactions. The telephone call feature of call waiting provides an indication (e.g., an audible tone) to a called party on a busy line that another party is attempting to reach him. This feature also permits the called party to switch between the two parties by flashing the switch hook on his telephone. Now, consider the telephone call feature of call forwarding busy line. This feature, when activated by the called party, forwards the second call to another predetermined telephone exchange. The interaction of these two features is, of course, whether the telephone switch should invoke the call waiting feature and interrupt the called party, or implement the call forwarding busy line feature and forward the second call to the predetermined telephone exchange.
A second example involves the telephone call feature of call forwarding. If a customer programs a first telephone to forward calls to a second telephone and programs the second telephone to forward all calls to the first telephone, then an unpredictable result occurs.
The foregoing examples, although rather simple, do provide a focus as to what the present invention seeks to accomplish, namely, how to manage and control the interaction of at least two features.
The inventors are aware of two approaches for identifying and resolving feature interactions. First, there is known a method of resolving feature interactions by executing predetermined scripts (i.e., program code) or referring to a predetermined decision table. This method is also referred to as a specific interaction-by-interaction method. This method relies on specifying each possible interaction for every possible combination of features and writing software or program code to manage accordingly. This method is disadvantageous, however, because as the number of features increase, the specification quickly becomes complex, that is, the decision logic increases in proportion to the square of the number of features to be served. Moreover, as new features are added to the telephone system, the many possible interactions must be determined (in advance, if even possible) and programmed into the telephone switch.
The second approach is to generalize the decision logic for resolving feature interactions. The goal of this approach is to eliminate the dependencies against the number of features to be served. Conceptually, this approach is better than the first approach because a decision of comparing the level of precedence defined among features is made which is effective for runtime processing.
This latter method, however, is disadvantageous because the data does not consist of any information defining the nature, characteristics, or properties of features, but simply consists of a feature precedence list for subscribers which are defined by the telephone operating company. As a result, feature interactions are resolved only by selecting the highest priority feature which is interested in a trigger point and event. Accordingly, this general method approach cannot provide the capability to check whether two specific features are in conflict